package simulator.software;

/**
 * Enumeration of the various states a process or other
 * <code>ProcessorRunnable</code> can take on during its lifecycle.
 * 
 * These states include RUNNING, READY, BLOCKED, and DONE.
 * 
 * @author David LaPointe
 * 
 */
public enum ProcessState
{
   /**
    * indicates the <code>ProcessorRunnable</code> is currently resident and
    * running on a processor.
    */
   RUNNING,

   /**
    * indicates the <code>ProcessorRunnable</code> is waiting to run.
    */
   READY,

   /**
    * indicates the <code>ProcessorRunnable</code> is blocked and waiting to be
    * awoken by some outside action.
    */
   BLOCKED,

   /**
    * indicates the <code>ProcessorRunnable</code> has completed.
    */
   DONE;
}